using System; 
using System.Text; 
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration; 
using System.Xml; 
using System.Xml.Serialization;
using SubSonic; 
using SubSonic.Utilities;

namespace Adex
{
	/// <summary>
	/// Strongly-typed collection for the OutdoorLog class.
	/// </summary>
	[Serializable]
	public partial class OutdoorLogCollection : ActiveList<OutdoorLog, OutdoorLogCollection> 
	{	   
		public OutdoorLogCollection() {}

	}

	/// <summary>
	/// This is an ActiveRecord class which wraps the OutdoorLog table.
	/// </summary>
	[Serializable]
	public partial class OutdoorLog : ActiveRecord<OutdoorLog>
	{
		#region .ctors and Default Settings
		
		public OutdoorLog()
		{
		  SetSQLProps();
		  InitSetDefaults();
		  MarkNew();
		}

		
		private void InitSetDefaults() { SetDefaults(); }

		
		public OutdoorLog(bool useDatabaseDefaults)
		{
			SetSQLProps();
			if(useDatabaseDefaults)
				ForceDefaults();
			MarkNew();
		}

		public OutdoorLog(object keyID)
		{
			SetSQLProps();
			InitSetDefaults();
			LoadByKey(keyID);
		}

		 
		public OutdoorLog(string columnName, object columnValue)
		{
			SetSQLProps();
			InitSetDefaults();
			LoadByParam(columnName,columnValue);
		}

		
		protected static void SetSQLProps() { GetTableSchema(); }

		
		#endregion
		
		#region Schema and Query Accessor
		public static Query CreateQuery() { return new Query(Schema); }

		
		public static TableSchema.Table Schema
		{
			get
			{
				if (BaseSchema == null)
					SetSQLProps();
				return BaseSchema;
			}

		}

		
		private static void GetTableSchema() 
		{
			if(!IsSchemaInitialized)
			{
				//Schema declaration
				TableSchema.Table schema = new TableSchema.Table("OutdoorLog", TableType.Table, DataService.GetInstance("Adex"));
				schema.Columns = new TableSchema.TableColumnCollection();
				schema.SchemaName = @"dbo";
				//columns
				
				TableSchema.TableColumn colvarOutdoorLogID = new TableSchema.TableColumn(schema);
				colvarOutdoorLogID.ColumnName = "OutdoorLogID";
				colvarOutdoorLogID.DataType = DbType.Int32;
				colvarOutdoorLogID.MaxLength = 0;
				colvarOutdoorLogID.AutoIncrement = true;
				colvarOutdoorLogID.IsNullable = false;
				colvarOutdoorLogID.IsPrimaryKey = true;
				colvarOutdoorLogID.IsForeignKey = false;
				colvarOutdoorLogID.IsReadOnly = false;
				colvarOutdoorLogID.DefaultSetting = @"";
				colvarOutdoorLogID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarOutdoorLogID);
				
				TableSchema.TableColumn colvarCountryID = new TableSchema.TableColumn(schema);
				colvarCountryID.ColumnName = "CountryID";
				colvarCountryID.DataType = DbType.Byte;
				colvarCountryID.MaxLength = 0;
				colvarCountryID.AutoIncrement = false;
				colvarCountryID.IsNullable = true;
				colvarCountryID.IsPrimaryKey = false;
				colvarCountryID.IsForeignKey = true;
				colvarCountryID.IsReadOnly = false;
				colvarCountryID.DefaultSetting = @"";
				
					colvarCountryID.ForeignKeyTableName = "Country";
				schema.Columns.Add(colvarCountryID);
				
				TableSchema.TableColumn colvarRFDate = new TableSchema.TableColumn(schema);
				colvarRFDate.ColumnName = "RFDate";
				colvarRFDate.DataType = DbType.DateTime;
				colvarRFDate.MaxLength = 0;
				colvarRFDate.AutoIncrement = false;
				colvarRFDate.IsNullable = true;
				colvarRFDate.IsPrimaryKey = false;
				colvarRFDate.IsForeignKey = false;
				colvarRFDate.IsReadOnly = false;
				colvarRFDate.DefaultSetting = @"";
				colvarRFDate.ForeignKeyTableName = "";
				schema.Columns.Add(colvarRFDate);
				
				TableSchema.TableColumn colvarMediaCode = new TableSchema.TableColumn(schema);
				colvarMediaCode.ColumnName = "MediaCode";
				colvarMediaCode.DataType = DbType.Int32;
				colvarMediaCode.MaxLength = 0;
				colvarMediaCode.AutoIncrement = false;
				colvarMediaCode.IsNullable = true;
				colvarMediaCode.IsPrimaryKey = false;
				colvarMediaCode.IsForeignKey = true;
				colvarMediaCode.IsReadOnly = false;
				colvarMediaCode.DefaultSetting = @"";
				
					colvarMediaCode.ForeignKeyTableName = "Medium";
				schema.Columns.Add(colvarMediaCode);
				
				TableSchema.TableColumn colvarTimeStart = new TableSchema.TableColumn(schema);
				colvarTimeStart.ColumnName = "TimeStart";
				colvarTimeStart.DataType = DbType.Int32;
				colvarTimeStart.MaxLength = 0;
				colvarTimeStart.AutoIncrement = false;
				colvarTimeStart.IsNullable = true;
				colvarTimeStart.IsPrimaryKey = false;
				colvarTimeStart.IsForeignKey = false;
				colvarTimeStart.IsReadOnly = false;
				colvarTimeStart.DefaultSetting = @"";
				colvarTimeStart.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTimeStart);
				
				TableSchema.TableColumn colvarTimeEnd = new TableSchema.TableColumn(schema);
				colvarTimeEnd.ColumnName = "TimeEnd";
				colvarTimeEnd.DataType = DbType.Int32;
				colvarTimeEnd.MaxLength = 0;
				colvarTimeEnd.AutoIncrement = false;
				colvarTimeEnd.IsNullable = true;
				colvarTimeEnd.IsPrimaryKey = false;
				colvarTimeEnd.IsForeignKey = false;
				colvarTimeEnd.IsReadOnly = false;
				colvarTimeEnd.DefaultSetting = @"";
				colvarTimeEnd.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTimeEnd);
				
				TableSchema.TableColumn colvarTimeStartFormatted = new TableSchema.TableColumn(schema);
				colvarTimeStartFormatted.ColumnName = "TimeStartFormatted";
				colvarTimeStartFormatted.DataType = DbType.String;
				colvarTimeStartFormatted.MaxLength = 10;
				colvarTimeStartFormatted.AutoIncrement = false;
				colvarTimeStartFormatted.IsNullable = true;
				colvarTimeStartFormatted.IsPrimaryKey = false;
				colvarTimeStartFormatted.IsForeignKey = false;
				colvarTimeStartFormatted.IsReadOnly = false;
				colvarTimeStartFormatted.DefaultSetting = @"";
				colvarTimeStartFormatted.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTimeStartFormatted);
				
				TableSchema.TableColumn colvarTimeEndFormatted = new TableSchema.TableColumn(schema);
				colvarTimeEndFormatted.ColumnName = "TimeEndFormatted";
				colvarTimeEndFormatted.DataType = DbType.String;
				colvarTimeEndFormatted.MaxLength = 10;
				colvarTimeEndFormatted.AutoIncrement = false;
				colvarTimeEndFormatted.IsNullable = true;
				colvarTimeEndFormatted.IsPrimaryKey = false;
				colvarTimeEndFormatted.IsForeignKey = false;
				colvarTimeEndFormatted.IsReadOnly = false;
				colvarTimeEndFormatted.DefaultSetting = @"";
				colvarTimeEndFormatted.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTimeEndFormatted);
				
				TableSchema.TableColumn colvarSize = new TableSchema.TableColumn(schema);
				colvarSize.ColumnName = "Size";
				colvarSize.DataType = DbType.Int32;
				colvarSize.MaxLength = 0;
				colvarSize.AutoIncrement = false;
				colvarSize.IsNullable = true;
				colvarSize.IsPrimaryKey = false;
				colvarSize.IsForeignKey = false;
				colvarSize.IsReadOnly = false;
				colvarSize.DefaultSetting = @"";
				colvarSize.ForeignKeyTableName = "";
				schema.Columns.Add(colvarSize);
				
				TableSchema.TableColumn colvarQuality = new TableSchema.TableColumn(schema);
				colvarQuality.ColumnName = "Quality";
				colvarQuality.DataType = DbType.String;
				colvarQuality.MaxLength = 50;
				colvarQuality.AutoIncrement = false;
				colvarQuality.IsNullable = true;
				colvarQuality.IsPrimaryKey = false;
				colvarQuality.IsForeignKey = false;
				colvarQuality.IsReadOnly = false;
				colvarQuality.DefaultSetting = @"";
				colvarQuality.ForeignKeyTableName = "";
				schema.Columns.Add(colvarQuality);
				
				TableSchema.TableColumn colvarRealCost = new TableSchema.TableColumn(schema);
				colvarRealCost.ColumnName = "RealCost";
				colvarRealCost.DataType = DbType.Currency;
				colvarRealCost.MaxLength = 0;
				colvarRealCost.AutoIncrement = false;
				colvarRealCost.IsNullable = true;
				colvarRealCost.IsPrimaryKey = false;
				colvarRealCost.IsForeignKey = false;
				colvarRealCost.IsReadOnly = false;
				colvarRealCost.DefaultSetting = @"";
				colvarRealCost.ForeignKeyTableName = "";
				schema.Columns.Add(colvarRealCost);
				
				TableSchema.TableColumn colvarLatLong = new TableSchema.TableColumn(schema);
				colvarLatLong.ColumnName = "LatLong";
				colvarLatLong.DataType = DbType.String;
				colvarLatLong.MaxLength = 50;
				colvarLatLong.AutoIncrement = false;
				colvarLatLong.IsNullable = true;
				colvarLatLong.IsPrimaryKey = false;
				colvarLatLong.IsForeignKey = false;
				colvarLatLong.IsReadOnly = false;
				colvarLatLong.DefaultSetting = @"";
				colvarLatLong.ForeignKeyTableName = "";
				schema.Columns.Add(colvarLatLong);
				
				TableSchema.TableColumn colvarNoOfAds = new TableSchema.TableColumn(schema);
				colvarNoOfAds.ColumnName = "NoOfAds";
				colvarNoOfAds.DataType = DbType.Int32;
				colvarNoOfAds.MaxLength = 0;
				colvarNoOfAds.AutoIncrement = false;
				colvarNoOfAds.IsNullable = true;
				colvarNoOfAds.IsPrimaryKey = false;
				colvarNoOfAds.IsForeignKey = false;
				colvarNoOfAds.IsReadOnly = false;
				colvarNoOfAds.DefaultSetting = @"";
				colvarNoOfAds.ForeignKeyTableName = "";
				schema.Columns.Add(colvarNoOfAds);
				
				TableSchema.TableColumn colvarTotalAdsInThatLocation = new TableSchema.TableColumn(schema);
				colvarTotalAdsInThatLocation.ColumnName = "TotalAdsInThatLocation";
				colvarTotalAdsInThatLocation.DataType = DbType.Int32;
				colvarTotalAdsInThatLocation.MaxLength = 0;
				colvarTotalAdsInThatLocation.AutoIncrement = false;
				colvarTotalAdsInThatLocation.IsNullable = true;
				colvarTotalAdsInThatLocation.IsPrimaryKey = false;
				colvarTotalAdsInThatLocation.IsForeignKey = false;
				colvarTotalAdsInThatLocation.IsReadOnly = false;
				colvarTotalAdsInThatLocation.DefaultSetting = @"";
				colvarTotalAdsInThatLocation.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTotalAdsInThatLocation);
				
				TableSchema.TableColumn colvarTypeOfAds = new TableSchema.TableColumn(schema);
				colvarTypeOfAds.ColumnName = "TypeOfAds";
				colvarTypeOfAds.DataType = DbType.Int32;
				colvarTypeOfAds.MaxLength = 0;
				colvarTypeOfAds.AutoIncrement = false;
				colvarTypeOfAds.IsNullable = true;
				colvarTypeOfAds.IsPrimaryKey = false;
				colvarTypeOfAds.IsForeignKey = false;
				colvarTypeOfAds.IsReadOnly = false;
				colvarTypeOfAds.DefaultSetting = @"";
				colvarTypeOfAds.ForeignKeyTableName = "";
				schema.Columns.Add(colvarTypeOfAds);
				
				TableSchema.TableColumn colvarVisibilityCode = new TableSchema.TableColumn(schema);
				colvarVisibilityCode.ColumnName = "VisibilityCode";
				colvarVisibilityCode.DataType = DbType.Int32;
				colvarVisibilityCode.MaxLength = 0;
				colvarVisibilityCode.AutoIncrement = false;
				colvarVisibilityCode.IsNullable = true;
				colvarVisibilityCode.IsPrimaryKey = false;
				colvarVisibilityCode.IsForeignKey = true;
				colvarVisibilityCode.IsReadOnly = false;
				colvarVisibilityCode.DefaultSetting = @"";
				
					colvarVisibilityCode.ForeignKeyTableName = "Visibility";
				schema.Columns.Add(colvarVisibilityCode);
				
				TableSchema.TableColumn colvarVerificationDate = new TableSchema.TableColumn(schema);
				colvarVerificationDate.ColumnName = "VerificationDate";
				colvarVerificationDate.DataType = DbType.DateTime;
				colvarVerificationDate.MaxLength = 0;
				colvarVerificationDate.AutoIncrement = false;
				colvarVerificationDate.IsNullable = true;
				colvarVerificationDate.IsPrimaryKey = false;
				colvarVerificationDate.IsForeignKey = false;
				colvarVerificationDate.IsReadOnly = false;
				colvarVerificationDate.DefaultSetting = @"";
				colvarVerificationDate.ForeignKeyTableName = "";
				schema.Columns.Add(colvarVerificationDate);
				
				TableSchema.TableColumn colvarVerificationDesc = new TableSchema.TableColumn(schema);
				colvarVerificationDesc.ColumnName = "VerificationDesc";
				colvarVerificationDesc.DataType = DbType.String;
				colvarVerificationDesc.MaxLength = 50;
				colvarVerificationDesc.AutoIncrement = false;
				colvarVerificationDesc.IsNullable = true;
				colvarVerificationDesc.IsPrimaryKey = false;
				colvarVerificationDesc.IsForeignKey = false;
				colvarVerificationDesc.IsReadOnly = false;
				colvarVerificationDesc.DefaultSetting = @"";
				colvarVerificationDesc.ForeignKeyTableName = "";
				schema.Columns.Add(colvarVerificationDesc);
				
				TableSchema.TableColumn colvarCarrierCode = new TableSchema.TableColumn(schema);
				colvarCarrierCode.ColumnName = "CarrierCode";
				colvarCarrierCode.DataType = DbType.Int32;
				colvarCarrierCode.MaxLength = 0;
				colvarCarrierCode.AutoIncrement = false;
				colvarCarrierCode.IsNullable = true;
				colvarCarrierCode.IsPrimaryKey = false;
				colvarCarrierCode.IsForeignKey = true;
				colvarCarrierCode.IsReadOnly = false;
				colvarCarrierCode.DefaultSetting = @"";
				
					colvarCarrierCode.ForeignKeyTableName = "Carrier";
				schema.Columns.Add(colvarCarrierCode);
				
				TableSchema.TableColumn colvarProdVersionID = new TableSchema.TableColumn(schema);
				colvarProdVersionID.ColumnName = "ProdVersionID";
				colvarProdVersionID.DataType = DbType.Int32;
				colvarProdVersionID.MaxLength = 0;
				colvarProdVersionID.AutoIncrement = false;
				colvarProdVersionID.IsNullable = true;
				colvarProdVersionID.IsPrimaryKey = false;
				colvarProdVersionID.IsForeignKey = false;
				colvarProdVersionID.IsReadOnly = false;
				colvarProdVersionID.DefaultSetting = @"";
				colvarProdVersionID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarProdVersionID);
				
				TableSchema.TableColumn colvarProductID = new TableSchema.TableColumn(schema);
				colvarProductID.ColumnName = "ProductID";
				colvarProductID.DataType = DbType.Int32;
				colvarProductID.MaxLength = 0;
				colvarProductID.AutoIncrement = false;
				colvarProductID.IsNullable = true;
				colvarProductID.IsPrimaryKey = false;
				colvarProductID.IsForeignKey = false;
				colvarProductID.IsReadOnly = false;
				colvarProductID.DefaultSetting = @"";
				colvarProductID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarProductID);
				
				TableSchema.TableColumn colvarCategoryID = new TableSchema.TableColumn(schema);
				colvarCategoryID.ColumnName = "CategoryID";
				colvarCategoryID.DataType = DbType.Int32;
				colvarCategoryID.MaxLength = 0;
				colvarCategoryID.AutoIncrement = false;
				colvarCategoryID.IsNullable = true;
				colvarCategoryID.IsPrimaryKey = false;
				colvarCategoryID.IsForeignKey = false;
				colvarCategoryID.IsReadOnly = false;
				colvarCategoryID.DefaultSetting = @"";
				colvarCategoryID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarCategoryID);
				
				TableSchema.TableColumn colvarSubSectorID = new TableSchema.TableColumn(schema);
				colvarSubSectorID.ColumnName = "SubSectorID";
				colvarSubSectorID.DataType = DbType.Int32;
				colvarSubSectorID.MaxLength = 0;
				colvarSubSectorID.AutoIncrement = false;
				colvarSubSectorID.IsNullable = true;
				colvarSubSectorID.IsPrimaryKey = false;
				colvarSubSectorID.IsForeignKey = false;
				colvarSubSectorID.IsReadOnly = false;
				colvarSubSectorID.DefaultSetting = @"";
				colvarSubSectorID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarSubSectorID);
				
				TableSchema.TableColumn colvarSectorID = new TableSchema.TableColumn(schema);
				colvarSectorID.ColumnName = "SectorID";
				colvarSectorID.DataType = DbType.Int32;
				colvarSectorID.MaxLength = 0;
				colvarSectorID.AutoIncrement = false;
				colvarSectorID.IsNullable = true;
				colvarSectorID.IsPrimaryKey = false;
				colvarSectorID.IsForeignKey = false;
				colvarSectorID.IsReadOnly = false;
				colvarSectorID.DefaultSetting = @"";
				colvarSectorID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarSectorID);
				
				TableSchema.TableColumn colvarBrandID = new TableSchema.TableColumn(schema);
				colvarBrandID.ColumnName = "BrandID";
				colvarBrandID.DataType = DbType.Int32;
				colvarBrandID.MaxLength = 0;
				colvarBrandID.AutoIncrement = false;
				colvarBrandID.IsNullable = true;
				colvarBrandID.IsPrimaryKey = false;
				colvarBrandID.IsForeignKey = false;
				colvarBrandID.IsReadOnly = false;
				colvarBrandID.DefaultSetting = @"";
				colvarBrandID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarBrandID);
				
				TableSchema.TableColumn colvarAdvertiserID = new TableSchema.TableColumn(schema);
				colvarAdvertiserID.ColumnName = "AdvertiserID";
				colvarAdvertiserID.DataType = DbType.Int32;
				colvarAdvertiserID.MaxLength = 0;
				colvarAdvertiserID.AutoIncrement = false;
				colvarAdvertiserID.IsNullable = true;
				colvarAdvertiserID.IsPrimaryKey = false;
				colvarAdvertiserID.IsForeignKey = false;
				colvarAdvertiserID.IsReadOnly = false;
				colvarAdvertiserID.DefaultSetting = @"";
				colvarAdvertiserID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarAdvertiserID);
				
				TableSchema.TableColumn colvarAgencyID = new TableSchema.TableColumn(schema);
				colvarAgencyID.ColumnName = "AgencyID";
				colvarAgencyID.DataType = DbType.Int32;
				colvarAgencyID.MaxLength = 0;
				colvarAgencyID.AutoIncrement = false;
				colvarAgencyID.IsNullable = true;
				colvarAgencyID.IsPrimaryKey = false;
				colvarAgencyID.IsForeignKey = false;
				colvarAgencyID.IsReadOnly = false;
				colvarAgencyID.DefaultSetting = @"";
				colvarAgencyID.ForeignKeyTableName = "";
				schema.Columns.Add(colvarAgencyID);
				
				TableSchema.TableColumn colvarBetweenAvenue = new TableSchema.TableColumn(schema);
				colvarBetweenAvenue.ColumnName = "BetweenAvenue";
				colvarBetweenAvenue.DataType = DbType.String;
				colvarBetweenAvenue.MaxLength = 300;
				colvarBetweenAvenue.AutoIncrement = false;
				colvarBetweenAvenue.IsNullable = true;
				colvarBetweenAvenue.IsPrimaryKey = false;
				colvarBetweenAvenue.IsForeignKey = false;
				colvarBetweenAvenue.IsReadOnly = false;
				colvarBetweenAvenue.DefaultSetting = @"";
				colvarBetweenAvenue.ForeignKeyTableName = "";
				schema.Columns.Add(colvarBetweenAvenue);
				
				TableSchema.TableColumn colvarPhotoCode = new TableSchema.TableColumn(schema);
				colvarPhotoCode.ColumnName = "PhotoCode";
				colvarPhotoCode.DataType = DbType.Int32;
				colvarPhotoCode.MaxLength = 0;
				colvarPhotoCode.AutoIncrement = false;
				colvarPhotoCode.IsNullable = true;
				colvarPhotoCode.IsPrimaryKey = false;
				colvarPhotoCode.IsForeignKey = false;
				colvarPhotoCode.IsReadOnly = false;
				colvarPhotoCode.DefaultSetting = @"";
				colvarPhotoCode.ForeignKeyTableName = "";
				schema.Columns.Add(colvarPhotoCode);
				
				TableSchema.TableColumn colvarDateAdded = new TableSchema.TableColumn(schema);
				colvarDateAdded.ColumnName = "DateAdded";
				colvarDateAdded.DataType = DbType.DateTime;
				colvarDateAdded.MaxLength = 0;
				colvarDateAdded.AutoIncrement = false;
				colvarDateAdded.IsNullable = false;
				colvarDateAdded.IsPrimaryKey = false;
				colvarDateAdded.IsForeignKey = false;
				colvarDateAdded.IsReadOnly = false;
				
						colvarDateAdded.DefaultSetting = @"(getdate())";
				colvarDateAdded.ForeignKeyTableName = "";
				schema.Columns.Add(colvarDateAdded);
				
				TableSchema.TableColumn colvarDateModified = new TableSchema.TableColumn(schema);
				colvarDateModified.ColumnName = "DateModified";
				colvarDateModified.DataType = DbType.DateTime;
				colvarDateModified.MaxLength = 0;
				colvarDateModified.AutoIncrement = false;
				colvarDateModified.IsNullable = false;
				colvarDateModified.IsPrimaryKey = false;
				colvarDateModified.IsForeignKey = false;
				colvarDateModified.IsReadOnly = false;
				
						colvarDateModified.DefaultSetting = @"(getdate())";
				colvarDateModified.ForeignKeyTableName = "";
				schema.Columns.Add(colvarDateModified);
				
				BaseSchema = schema;
				//add this schema to the provider
				//so we can query it later
				DataService.Providers["Adex"].AddSchema("OutdoorLog",schema);
			}

		}

		#endregion
		
		#region Props
		
		  
		[XmlAttribute("OutdoorLogID")]
		public int OutdoorLogID 
		{
			get { return GetColumnValue<int>("OutdoorLogID"); }

			set { SetColumnValue("OutdoorLogID", value); }

		}

		  
		[XmlAttribute("CountryID")]
		public byte? CountryID 
		{
			get { return GetColumnValue<byte?>("CountryID"); }

			set { SetColumnValue("CountryID", value); }

		}

		  
		[XmlAttribute("RFDate")]
		public DateTime? RFDate 
		{
			get { return GetColumnValue<DateTime?>("RFDate"); }

			set { SetColumnValue("RFDate", value); }

		}

		  
		[XmlAttribute("MediaCode")]
		public int? MediaCode 
		{
			get { return GetColumnValue<int?>("MediaCode"); }

			set { SetColumnValue("MediaCode", value); }

		}

		  
		[XmlAttribute("TimeStart")]
		public int? TimeStart 
		{
			get { return GetColumnValue<int?>("TimeStart"); }

			set { SetColumnValue("TimeStart", value); }

		}

		  
		[XmlAttribute("TimeEnd")]
		public int? TimeEnd 
		{
			get { return GetColumnValue<int?>("TimeEnd"); }

			set { SetColumnValue("TimeEnd", value); }

		}

		  
		[XmlAttribute("TimeStartFormatted")]
		public string TimeStartFormatted 
		{
			get { return GetColumnValue<string>("TimeStartFormatted"); }

			set { SetColumnValue("TimeStartFormatted", value); }

		}

		  
		[XmlAttribute("TimeEndFormatted")]
		public string TimeEndFormatted 
		{
			get { return GetColumnValue<string>("TimeEndFormatted"); }

			set { SetColumnValue("TimeEndFormatted", value); }

		}

		  
		[XmlAttribute("Size")]
		public int? Size 
		{
			get { return GetColumnValue<int?>("Size"); }

			set { SetColumnValue("Size", value); }

		}

		  
		[XmlAttribute("Quality")]
		public string Quality 
		{
			get { return GetColumnValue<string>("Quality"); }

			set { SetColumnValue("Quality", value); }

		}

		  
		[XmlAttribute("RealCost")]
		public decimal? RealCost 
		{
			get { return GetColumnValue<decimal?>("RealCost"); }

			set { SetColumnValue("RealCost", value); }

		}

		  
		[XmlAttribute("LatLong")]
		public string LatLong 
		{
			get { return GetColumnValue<string>("LatLong"); }

			set { SetColumnValue("LatLong", value); }

		}

		  
		[XmlAttribute("NoOfAds")]
		public int? NoOfAds 
		{
			get { return GetColumnValue<int?>("NoOfAds"); }

			set { SetColumnValue("NoOfAds", value); }

		}

		  
		[XmlAttribute("TotalAdsInThatLocation")]
		public int? TotalAdsInThatLocation 
		{
			get { return GetColumnValue<int?>("TotalAdsInThatLocation"); }

			set { SetColumnValue("TotalAdsInThatLocation", value); }

		}

		  
		[XmlAttribute("TypeOfAds")]
		public int? TypeOfAds 
		{
			get { return GetColumnValue<int?>("TypeOfAds"); }

			set { SetColumnValue("TypeOfAds", value); }

		}

		  
		[XmlAttribute("VisibilityCode")]
		public int? VisibilityCode 
		{
			get { return GetColumnValue<int?>("VisibilityCode"); }

			set { SetColumnValue("VisibilityCode", value); }

		}

		  
		[XmlAttribute("VerificationDate")]
		public DateTime? VerificationDate 
		{
			get { return GetColumnValue<DateTime?>("VerificationDate"); }

			set { SetColumnValue("VerificationDate", value); }

		}

		  
		[XmlAttribute("VerificationDesc")]
		public string VerificationDesc 
		{
			get { return GetColumnValue<string>("VerificationDesc"); }

			set { SetColumnValue("VerificationDesc", value); }

		}

		  
		[XmlAttribute("CarrierCode")]
		public int? CarrierCode 
		{
			get { return GetColumnValue<int?>("CarrierCode"); }

			set { SetColumnValue("CarrierCode", value); }

		}

		  
		[XmlAttribute("ProdVersionID")]
		public int? ProdVersionID 
		{
			get { return GetColumnValue<int?>("ProdVersionID"); }

			set { SetColumnValue("ProdVersionID", value); }

		}

		  
		[XmlAttribute("ProductID")]
		public int? ProductID 
		{
			get { return GetColumnValue<int?>("ProductID"); }

			set { SetColumnValue("ProductID", value); }

		}

		  
		[XmlAttribute("CategoryID")]
		public int? CategoryID 
		{
			get { return GetColumnValue<int?>("CategoryID"); }

			set { SetColumnValue("CategoryID", value); }

		}

		  
		[XmlAttribute("SubSectorID")]
		public int? SubSectorID 
		{
			get { return GetColumnValue<int?>("SubSectorID"); }

			set { SetColumnValue("SubSectorID", value); }

		}

		  
		[XmlAttribute("SectorID")]
		public int? SectorID 
		{
			get { return GetColumnValue<int?>("SectorID"); }

			set { SetColumnValue("SectorID", value); }

		}

		  
		[XmlAttribute("BrandID")]
		public int? BrandID 
		{
			get { return GetColumnValue<int?>("BrandID"); }

			set { SetColumnValue("BrandID", value); }

		}

		  
		[XmlAttribute("AdvertiserID")]
		public int? AdvertiserID 
		{
			get { return GetColumnValue<int?>("AdvertiserID"); }

			set { SetColumnValue("AdvertiserID", value); }

		}

		  
		[XmlAttribute("AgencyID")]
		public int? AgencyID 
		{
			get { return GetColumnValue<int?>("AgencyID"); }

			set { SetColumnValue("AgencyID", value); }

		}

		  
		[XmlAttribute("BetweenAvenue")]
		public string BetweenAvenue 
		{
			get { return GetColumnValue<string>("BetweenAvenue"); }

			set { SetColumnValue("BetweenAvenue", value); }

		}

		  
		[XmlAttribute("PhotoCode")]
		public int? PhotoCode 
		{
			get { return GetColumnValue<int?>("PhotoCode"); }

			set { SetColumnValue("PhotoCode", value); }

		}

		  
		[XmlAttribute("DateAdded")]
		public DateTime DateAdded 
		{
			get { return GetColumnValue<DateTime>("DateAdded"); }

			set { SetColumnValue("DateAdded", value); }

		}

		  
		[XmlAttribute("DateModified")]
		public DateTime DateModified 
		{
			get { return GetColumnValue<DateTime>("DateModified"); }

			set { SetColumnValue("DateModified", value); }

		}

		
		#endregion
		
		
			
		
		#region ForeignKey Properties
		
		/// <summary>
		/// Returns a Carrier ActiveRecord object related to this OutdoorLog
		/// 
		/// </summary>
		public Adex.Carrier Carrier
		{
			get { return Adex.Carrier.FetchByID(this.CarrierCode); }

			set { SetColumnValue("CarrierCode", value.CarrierCode); }

		}

		
		
		/// <summary>
		/// Returns a Country ActiveRecord object related to this OutdoorLog
		/// 
		/// </summary>
		public Adex.Country Country
		{
			get { return Adex.Country.FetchByID(this.CountryID); }

			set { SetColumnValue("CountryID", value.CountryID); }

		}

		
		
		/// <summary>
		/// Returns a Medium ActiveRecord object related to this OutdoorLog
		/// 
		/// </summary>
		public Adex.Medium Medium
		{
			get { return Adex.Medium.FetchByID(this.MediaCode); }

			set { SetColumnValue("MediaCode", value.MediaCode); }

		}

		
		
		/// <summary>
		/// Returns a Visibility ActiveRecord object related to this OutdoorLog
		/// 
		/// </summary>
		public Adex.Visibility Visibility
		{
			get { return Adex.Visibility.FetchByID(this.VisibilityCode); }

			set { SetColumnValue("VisibilityCode", value.VisibilityCode); }

		}

		
		
		#endregion
		
		
		
		//no ManyToMany tables defined (0)
		
		#region ObjectDataSource support
		
		
		/// <summary>
		/// Inserts a record, can be used with the Object Data Source
		/// </summary>
		public static void Insert(byte? varCountryID,DateTime? varRFDate,int? varMediaCode,int? varTimeStart,int? varTimeEnd,string varTimeStartFormatted,string varTimeEndFormatted,int? varSize,string varQuality,decimal? varRealCost,string varLatLong,int? varNoOfAds,int? varTotalAdsInThatLocation,int? varTypeOfAds,int? varVisibilityCode,DateTime? varVerificationDate,string varVerificationDesc,int? varCarrierCode,int? varProdVersionID,int? varProductID,int? varCategoryID,int? varSubSectorID,int? varSectorID,int? varBrandID,int? varAdvertiserID,int? varAgencyID,string varBetweenAvenue,int? varPhotoCode,DateTime varDateAdded,DateTime varDateModified)
		{
			OutdoorLog item = new OutdoorLog();
			
			item.CountryID = varCountryID;
			
			item.RFDate = varRFDate;
			
			item.MediaCode = varMediaCode;
			
			item.TimeStart = varTimeStart;
			
			item.TimeEnd = varTimeEnd;
			
			item.TimeStartFormatted = varTimeStartFormatted;
			
			item.TimeEndFormatted = varTimeEndFormatted;
			
			item.Size = varSize;
			
			item.Quality = varQuality;
			
			item.RealCost = varRealCost;
			
			item.LatLong = varLatLong;
			
			item.NoOfAds = varNoOfAds;
			
			item.TotalAdsInThatLocation = varTotalAdsInThatLocation;
			
			item.TypeOfAds = varTypeOfAds;
			
			item.VisibilityCode = varVisibilityCode;
			
			item.VerificationDate = varVerificationDate;
			
			item.VerificationDesc = varVerificationDesc;
			
			item.CarrierCode = varCarrierCode;
			
			item.ProdVersionID = varProdVersionID;
			
			item.ProductID = varProductID;
			
			item.CategoryID = varCategoryID;
			
			item.SubSectorID = varSubSectorID;
			
			item.SectorID = varSectorID;
			
			item.BrandID = varBrandID;
			
			item.AdvertiserID = varAdvertiserID;
			
			item.AgencyID = varAgencyID;
			
			item.BetweenAvenue = varBetweenAvenue;
			
			item.PhotoCode = varPhotoCode;
			
			item.DateAdded = varDateAdded;
			
			item.DateModified = varDateModified;
			
		
			if (System.Web.HttpContext.Current != null)
				item.Save(System.Web.HttpContext.Current.User.Identity.Name);
			else
				item.Save(System.Threading.Thread.CurrentPrincipal.Identity.Name);
		}

		
		/// <summary>
		/// Updates a record, can be used with the Object Data Source
		/// </summary>
		public static void Update(int varOutdoorLogID,byte? varCountryID,DateTime? varRFDate,int? varMediaCode,int? varTimeStart,int? varTimeEnd,string varTimeStartFormatted,string varTimeEndFormatted,int? varSize,string varQuality,decimal? varRealCost,string varLatLong,int? varNoOfAds,int? varTotalAdsInThatLocation,int? varTypeOfAds,int? varVisibilityCode,DateTime? varVerificationDate,string varVerificationDesc,int? varCarrierCode,int? varProdVersionID,int? varProductID,int? varCategoryID,int? varSubSectorID,int? varSectorID,int? varBrandID,int? varAdvertiserID,int? varAgencyID,string varBetweenAvenue,int? varPhotoCode,DateTime varDateAdded,DateTime varDateModified)
		{
			OutdoorLog item = new OutdoorLog();
			
				item.OutdoorLogID = varOutdoorLogID;
				
				item.CountryID = varCountryID;
				
				item.RFDate = varRFDate;
				
				item.MediaCode = varMediaCode;
				
				item.TimeStart = varTimeStart;
				
				item.TimeEnd = varTimeEnd;
				
				item.TimeStartFormatted = varTimeStartFormatted;
				
				item.TimeEndFormatted = varTimeEndFormatted;
				
				item.Size = varSize;
				
				item.Quality = varQuality;
				
				item.RealCost = varRealCost;
				
				item.LatLong = varLatLong;
				
				item.NoOfAds = varNoOfAds;
				
				item.TotalAdsInThatLocation = varTotalAdsInThatLocation;
				
				item.TypeOfAds = varTypeOfAds;
				
				item.VisibilityCode = varVisibilityCode;
				
				item.VerificationDate = varVerificationDate;
				
				item.VerificationDesc = varVerificationDesc;
				
				item.CarrierCode = varCarrierCode;
				
				item.ProdVersionID = varProdVersionID;
				
				item.ProductID = varProductID;
				
				item.CategoryID = varCategoryID;
				
				item.SubSectorID = varSubSectorID;
				
				item.SectorID = varSectorID;
				
				item.BrandID = varBrandID;
				
				item.AdvertiserID = varAdvertiserID;
				
				item.AgencyID = varAgencyID;
				
				item.BetweenAvenue = varBetweenAvenue;
				
				item.PhotoCode = varPhotoCode;
				
				item.DateAdded = varDateAdded;
				
				item.DateModified = varDateModified;
				
			item.IsNew = false;
			if (System.Web.HttpContext.Current != null)
				item.Save(System.Web.HttpContext.Current.User.Identity.Name);
			else
				item.Save(System.Threading.Thread.CurrentPrincipal.Identity.Name);
		}

		#endregion
		#region Columns Struct
		public struct Columns
		{
			 public static string OutdoorLogID = @"OutdoorLogID";
			 public static string CountryID = @"CountryID";
			 public static string RFDate = @"RFDate";
			 public static string MediaCode = @"MediaCode";
			 public static string TimeStart = @"TimeStart";
			 public static string TimeEnd = @"TimeEnd";
			 public static string TimeStartFormatted = @"TimeStartFormatted";
			 public static string TimeEndFormatted = @"TimeEndFormatted";
			 public static string Size = @"Size";
			 public static string Quality = @"Quality";
			 public static string RealCost = @"RealCost";
			 public static string LatLong = @"LatLong";
			 public static string NoOfAds = @"NoOfAds";
			 public static string TotalAdsInThatLocation = @"TotalAdsInThatLocation";
			 public static string TypeOfAds = @"TypeOfAds";
			 public static string VisibilityCode = @"VisibilityCode";
			 public static string VerificationDate = @"VerificationDate";
			 public static string VerificationDesc = @"VerificationDesc";
			 public static string CarrierCode = @"CarrierCode";
			 public static string ProdVersionID = @"ProdVersionID";
			 public static string ProductID = @"ProductID";
			 public static string CategoryID = @"CategoryID";
			 public static string SubSectorID = @"SubSectorID";
			 public static string SectorID = @"SectorID";
			 public static string BrandID = @"BrandID";
			 public static string AdvertiserID = @"AdvertiserID";
			 public static string AgencyID = @"AgencyID";
			 public static string BetweenAvenue = @"BetweenAvenue";
			 public static string PhotoCode = @"PhotoCode";
			 public static string DateAdded = @"DateAdded";
			 public static string DateModified = @"DateModified";
						
		}

		#endregion
	}

}

